package rtpencoder

import (
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtpav1"
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtph264"
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtph265"
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmpeg4audio"
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtpmpeg4video"
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtpsimpleaudio"
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtpvp8"
	"github.com/bluenviron/gortsplib/v4/pkg/format/rtpvp9"
)

type (
	AV1Encoder = rtpav1.Encoder
	AV1Decoder = rtpav1.Decoder

	H264Encoder = rtph264.Encoder
	H264Decoder = rtph264.Decoder

	H265Encoder = rtph265.Encoder
	H265Decoder = rtph265.Decoder

	VP8Encoder = rtpvp8.Encoder
	VP8Decoder = rtpvp8.Decoder

	VP9Encoder = rtpvp9.Encoder
	VP9Decoder = rtpvp9.Decoder

	MPEG4VideoEncoder = rtpmpeg4video.Encoder
	MPEG4VideoDecoder = rtpmpeg4video.Decoder

	AudioSimpleEncoder = rtpsimpleaudio.Encoder
	AudioSimpleDecoder = rtpsimpleaudio.Decoder

	OpusEncoder = AudioSimpleEncoder
	OpusDecoder = AudioSimpleDecoder

	G711AEncoder = AudioSimpleEncoder
	G711ADecoder = AudioSimpleDecoder

	G711UEncoder = AudioSimpleEncoder
	G711UDecoder = AudioSimpleDecoder

	G726Encoder = AudioSimpleEncoder
	G726Decoder = AudioSimpleDecoder

	AACEncoder = rtpmpeg4audio.Encoder
	AACDecoder = rtpmpeg4audio.Decoder

	GenericRtpEncoder = _rtpEncoder // 通用rtp打包
	GenericRtpDecoder = _rtpDecoder // 通用rtp解包

	PSRtpEncoder = _psEncoder // ps->rtp
	PSRtpDecoder = _psDecoder // rtp->ps
)
